package com.greate.community.util;

import java.util.regex.Pattern;

public class StringFilterUtils {
    // 匹配 Emoji 表情符号的正则表达式
    private static final Pattern EMOJI_PATTERN = Pattern.compile("[\\x{1F000}-\\x{1F6FF}\\x{1F910}-\\x{1F96B}\\x{1F980}-\\x{1F9E0}]");
    // 匹配微软输入法特殊字符的正则表达式
    private static final Pattern MS_SPECIAL_CHAR_PATTERN = Pattern.compile("[\\uE000-\\uEFFF]");
    // 匹配 HTML 标签的正则表达式
    private static final Pattern HTML_TAG_PATTERN = Pattern.compile("<[^>]+>");

    /**
     * 过滤指定字符串中的特殊字符
     *
     * @param str 要过滤的字符串
     * @return 过滤后的字符串
     */
    public static String filterSpecialCharacters(String str) {
        // 过滤 Emoji 符号
        str = EMOJI_PATTERN.matcher(str).replaceAll("");
        // 过滤微软输入法特殊字符
        str = MS_SPECIAL_CHAR_PATTERN.matcher(str).replaceAll("");
        // 过滤 HTML 标签
//        str = HTML_TAG_PATTERN.matcher(str).replaceAll("");
        return str;
    }
}

